package com.neusoft.databus.common.connection;

import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;

/**
 * 面向采集任务的连接信息抽象<br>
 * 与资源实体的connection字段对应
 *
 * @author suncf
 */
@Getter
@Setter
public abstract class AbstractConnection implements Serializable {
    private static final long serialVersionUID = 1L;
    // 获取连接超时时间(用来控制连接池获取连接等待时间)，默认3秒
    public int connectTimeout = 3000;
    // 获取连接重试次数，默认0次
    public int connectRetry = 0;

    /**
     * 使用内容字符串的HASHCODE作为一个连接的唯一标识符
     *
     * @return
     * @author WanWei
     * @date 2014-12-24 上午10:58:47
     */
    public int getUniqueKey() {
        return this.toString().hashCode();
    }

    public abstract AbstractConnection asUsedConnection();
}
